www.gusucode.com > PHP展示型企业网站模板米拓整站源码 1.0PHP源码程序 > PHP展示型企业网站模板米拓整站源码 1.0/MetInfozs_v1.0/MetInfozs_v1.0/app/system/admin/seo/seo.class.php
<?php # MetInfo Enterprise Content Management System # Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved. defined('IN_MET') or exit('No permission'); load::sys_class('admin.class.php'); load::sys_class('nav.class.php'); load::sys_class('curl'); class seo extends admin { public $iniclass; function __construct() { global $_M; parent::__construct(); nav::set_nav(1, $_M['word']['article6'], $_M['url']['own_form'].'&a=doindex'); nav::set_nav(2, $_M['word']['indexhtmset'], $_M['url']['own_form'].'&a=dourl'); nav::set_nav(3, $_M['word']['anchor_text'], $_M['url']['own_form'].'&a=doanchor'); nav::set_nav(4, 'SiteMap', $_M['url']['own_form'].'&a=dositemap'); } function doindex() { global $_M; nav::select_nav(1); require $this->template('tem/seo'); } function doseoeditor(){ global $_M; $configlist = array(); $configlist[] = 'met_hometitle'; $configlist[] = 'met_title_type'; $configlist[] = 'met_keywords'; $configlist[] = 'met_alt'; $configlist[] = 'met_atitle'; $configlist[] = 'met_linkname'; $configlist[] = 'met_foottext'; $configlist[] = 'met_seo'; configsave($configlist);/*保存系统配置*/ turnover("{$_M[url][own_form]}a=doindex"); } function dourl() { global $_M; nav::select_nav(2); require $this->template('tem/url'); } function dourleditor() { global $_M; $configlist = array(); $configlist[] = 'met_pseudo'; configsave($configlist);/*保存系统配置*/ if($_M['form']['met_pseudo']){ $query = "update {$_M['table']['lang']} SET met_webhtm = '3' where lang='{$_M['lang']}'"; DB::query($query); }else{ $query = "update {$_M['table']['lang']} SET met_webhtm = '0' where lang='{$_M['lang']}'"; DB::query($query); } /*生成规则文件*/ if($_M['form']['met_pseudo']||$_M['form']['pseudo_download']){ if(!$_M['form']['pseudo_download']){ $configlist = array(); $configlist[] = 'met_pseudo'; configsave($configlist);/*保存系统配置*/ if($_M['lang']==$_M['config']['met_index_type'] && file_exists(PATH_WEB."index.htm"))@unlink(PATH_WEB."index.htm"); if($_M['lang']==$_M['config']['met_index_type'] && file_exists(PATH_WEB."index.html"))@unlink(PATH_WEB."index.html"); if(file_exists(PATH_WEB."index_".$_M['lang'].".htm"))@unlink(PATH_WEB."index_".$_M['lang'].".htm"); if(file_exists(PATH_WEB."index_".$_M['lang'].".html"))@unlink(PATH_WEB."index_".$_M['lang'].".html"); } $nowpath=explode('/',$_SERVER["PHP_SELF"]); $cunt=count($nowpath)-2; for($i=0;$i<$cunt;$i++){ $metbase.= $nowpath[$i].'/'; } if(stristr($_SERVER['SERVER_SOFTWARE'],'Apache')){ $htaccess = 'RewriteEngine on'."\n"; $htaccess.= '# 是否显示根目录下文件列表'."\n"; $htaccess.= 'Options -Indexes'."\n"; $htaccess.= 'RewriteBase '.$metbase."\n"; $htaccess.= 'RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.html'."\n"; $htaccess.= '# Rewrite 系统规则请勿修改'."\n"; $htaccess.= 'RewriteRule ^index-([a-zA-Z0-9_^\x00-\xff]+).html$ index.php?lang=$1&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/list-([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/index.php?lang=$3&metid=$2&list=1&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/list-([a-zA-Z0-9_^\x00-\xff]+)-([0-9_]+)-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/index.php?lang=$4&metid=$2&list=1&page=$3&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/jobcv-([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/cv.php?lang=$3&selectedjob=$2&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/product-list-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/product.php?lang=$2&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/img-list-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/img.php?lang=$2&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^([a-zA-Z0-9_^\x00-\xff]+)/([a-zA-Z0-9_^\x00-\xff^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html$ $1/index.php?lang=$3&metid=$2&pseudo_jump=1'."\n"; $htaccess.= 'RewriteRule ^tag/([\s\S]+)-([a-zA-Z0-9_^\x00-\xff]+)$ search/search.php?class1=&class2=&class3=&searchtype=0&searchword=$1&lang=$2'."\n"; $str = load::plugin('doseourl', 1, array('str'=>$str, 'type'=>'apache'));//加载插件 $htaccess = $htaccess.$str; $httpdurl ='.htaccess'; $httpd = $htaccess; } else if(stristr($_SERVER['SERVER_SOFTWARE'],'nginx')){ $htaccess = 'rewrite ^/index-([a-zA-Z0-9_^x00-xff]+).html$ /index.php?lang=$1&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$3&metid=$2&list=1&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+)-([0-9_]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$4&metid=$2&list=1&page=$3&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/jobcv-([a-zA-Z0-9_^x00-xff]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/cv.php?lang=$3&selectedjob=$2&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/product-list-([a-zA-Z0-9_^x00-xff]+).html$ /$1/product.php?lang=$2&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/img-list-([a-zA-Z0-9_^x00-xff]+).html$ /$1/img.php?lang=$2&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/([a-zA-Z0-9_^x00-xff]+)/([a-zA-Z0-9_^x00-xff]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$3&metid=$2&pseudo_jump=1;'."\n"; $htaccess.= 'rewrite ^/tag/([\s\S]+)-([a-zA-Z0-9_^\x00-\xff]+)$ /search/search.php?class1=&class2=&class3=&searchtype=0&searchword=$1&lang=$2;'."\n"; $str = load::plugin('doseourl', 1, array('str'=>$str, 'type'=>'nginx'));//加载插件 $htaccess = $htaccess.$str; $httpdurl ='.htaccess'; $httpd = $htaccess; } else if(stristr($_SERVER['SERVER_SOFTWARE'],'IIS/7')){ $web = '<?xml version="1.0" encoding="UTF-8"?>'."\n"; $web.= '<configuration>'."\n"; $web.= '<system.webServer>'."\n"; $web.= '<rewrite>'."\n"; $web.= '<rules>'."\n"; $web.= '<rule name="rule1" stopProcessing="true">'."\n"; $web.= '<match url="^index-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="index.php?lang={R:1}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule2" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/list-([a-zA-Z0-9_\u4e00-\u9fa5]+)-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/index.php?lang={R:3}&metid={R:2}&list=1&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule3" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/list-([a-zA-Z0-9_\u4e00-\u9fa5]+)-([0-9_]+)-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/index.php?lang={R:4}&metid={R:2}&list=1&page={R:3}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule4" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/jobcv-([a-zA-Z0-9_\u4e00-\u9fa5]+)-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/cv.php?lang={R:3}&selectedjob={R:2}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule5" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/product-list-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/product.php?lang={R:2}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule6" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/img-list-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/img.php?lang={R:2}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule7" stopProcessing="true">'."\n"; $web.= '<match url="^([a-zA-Z0-9_\u4e00-\u9fa5]+)/([a-zA-Z0-9_\u4e00-\u9fa5]+)-([a-zA-Z0-9_\u4e00-\u9fa5]+).html" />'."\n"; $web.= '<action type="Rewrite" url="{R:1}/index.php?lang={R:3}&metid={R:2}&pseudo_jump=1" />'."\n"; $web.= '</rule>'."\n"; $web.= '<rule name="rule8" stopProcessing="true">'."\n"; $web.= '<match url="^tag/([\s\S]+)-([a-zA-Z0-9_\u4e00-\u9fa5]+)" />'."\n"; $web.= '<action type="Rewrite" url="search/search.php?class1=&class2=&class3=&searchtype=0&searchword={R:1}&lang={R:2}" />'."\n"; $web.= '</rule>'."\n"; $str = load::plugin('doseourl', 1, array('str'=>$str, 'type'=>'iis7'));//加载插件 $web = $web.$str; $web.= '</rules>'."\n"; $web.= '</rewrite>'."\n"; $web.= '</system.webServer>'."\n"; $web.= '</configuration>'."\n"; $httpdurl ='web.config'; $httpd = $web; } else{ $httpd = '[ISAPI_Rewrite]'."\n"; $httpd.= '# 3600 = 1 hour'."\n"; $httpd.= 'CacheClockRate 3600'."\n"; $httpd.= 'RepeatLimit 32'."\n"; $httpd.= 'RewriteRule '.$metbase.'index-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'index.php\?lang=$1&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/list-([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/index.php\?lang=$3&metid=$2&list=1&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/list-([a-zA-Z0-9_^\x00-\xff]+)-([0-9_]+)-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/index.php\?lang=$4&metid=$2&list=1&page=$3&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/jobcv-([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/cv.php\?lang=$3&selectedjob=$2&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/product-list-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/product.php\?lang=$2&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/img-list-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/img.php\?lang=$2&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'([a-zA-Z0-9_^\x00-\xff]+)/([a-zA-Z0-9_^\x00-\xff^\x00-\xff]+)-([a-zA-Z0-9_^\x00-\xff]+).html '.$metbase.'$1/index.php\?lang=$3&metid=$2&pseudo_jump=1'."\n"; $httpd.= 'RewriteRule '.$metbase.'tag/([\s\S]+)-([a-zA-Z0-9_^\x00-\xff]+) '.$metbase.'search/search.php\?class1=&class2=&class3=&searchtype=0&searchword=$1&lang=$2'."\n"; $str = load::plugin('doseourl', 1, array('str'=>$str, 'type'=>'iis6'));//加载插件 $httpd = $httpd.$str; $httpdurl = 'httpd.ini'; } if($_M['form']['pseudo_download']){ echo "<textarea style=\"width:95%; height:350px; margin:5px;\">{$httpd}</textarea>"; die; }else{ $fp = fopen(PATH_WEB.$httpdurl,w); fputs($fp,$httpd); fclose($fp); } }else{ if(file_exists(PATH_WEB.'httpd.ini'))@unlink(PATH_WEB.'httpd.ini'); if(file_exists(PATH_WEB.'.htaccess'))@unlink(PATH_WEB.'.htaccess'); if(file_exists(PATH_WEB.'web.config'))@unlink(PATH_WEB.'web.config'); } turnover("{$_M[url][own_form]}a=dourl"); } function doanchor() { global $_M; nav::select_nav(3); require $this->template('tem/anchor'); } function doanchor_json(){ global $_M; $table = load::sys_class('tabledata', 'new'); $where = "lang='{$_M[lang]}'"; //在条件语句中加入查询条件 $search $order = "id"; $array = $table->getdata($_M[table][label], '*', $where, $order); foreach($array as $key => $val){ $list = array(); $list[] = "<input name=\"id\" type=\"checkbox\" value=\"{$val[id]}\">"; $list[] = "<input type=\"text\" name=\"oldwords-{$val[id]}\" class=\"ui-input\" value=\"{$val[oldwords]}\" data-required=\"1\">"; $list[] = "<input type=\"text\" name=\"newwords-{$val[id]}\" class=\"ui-input\" value=\"{$val[newwords]}\" data-required=\"1\">"; $list[] = "<input type=\"text\" name=\"newtitle-{$val[id]}\" class=\"ui-input\" value=\"{$val[newtitle]}\" data-required=\"1\">"; $list[] = "<input type=\"text\" name=\"url-{$val[id]}\" class=\"ui-input\" value=\"{$val[url]}\" data-required=\"1\">"; $list[] = "<input type=\"text\" name=\"num-{$val[id]}\" style='text-align:center; width:20px;' class=\"ui-input\" value=\"{$val[num]}\" data-required=\"1\">"; $list[] = "<a href=\"{$_M[url][own_form]}a=doanchortablesave&allid={$val[id]},&submit_type=del\" class=\"delet\" data-confirm='{$_M[word][js7]}'>{$_M[word][delete]}</a>"; $rarray[] = $list; } $table->rdata($rarray); } function doanchor_add(){ global $_M; $id = 'new-'.$_M[form][ai]; $metinfo ="<tr class=\"even newlist\"> <td class=\"met-center\"><input name=\"id\" type=\"checkbox\" value=\"{$id}\" checked></td> <td><input type=\"text\" name=\"oldwords-{$id}\" placeholder=\"{$_M[word][enter_original]}\" class=\"ui-input\" value=\"\" data-required=\"1\"></td> <td><input type=\"text\" name=\"newwords-{$id}\" placeholder=\"{$_M[word][enter_replacement]}\" class=\"ui-input\" value=\"\" data-required=\"1\"></td> <td><input type=\"text\" name=\"newtitle-{$id}\" placeholder=\"{$_M[word][title_description]}\" class=\"ui-input\" value=\"\" data-required=\"1\"></td> <td><input type=\"text\" name=\"url-{$id}\" placeholder=\"{$_M[word][input_link_address]}\" class=\"ui-input\" value=\"\" data-required=\"1\"></td> <td class='met-center'><input type=\"text\" name=\"num-{$id}\" class=\"ui-input\" value=\"1\" data-required=\"1\" style='text-align:center; width:20px;'></td> <td><a href=\"\" class=\"delet\">{$_M[word][js49]}</a></td> </tr>"; echo $metinfo; } function doanchortablesave(){ global $_M; $list = explode(",",$_M[form][allid]) ; $type = $_M[form][submit_type]; foreach($list as $id){ if($id){ if($type=='save'){ $oldwords = $_M['form']['oldwords-'.$id]; $newwords = $_M['form']['newwords-'.$id]; $newtitle = $_M['form']['newtitle-'.$id]; $url = $_M['form']['url-'.$id]; $num = $_M['form']['num-'.$id]; $url=str_replace('http://','',$url); $url="http://".$url; if(is_number($id)){//修改 $query = "UPDATE {$_M['table']['label']} SET oldwords = '{$oldwords}', newwords = '{$newwords}', newtitle = '{$newtitle}', url = '{$url}', num = '{$num}' WHERE id = '{$id}' and lang = '{$_M[lang]}' "; }else{//新增 $query = "INSERT INTO {$_M['table']['label']} SET oldwords = '{$oldwords}', newwords = '{$newwords}', newtitle = '{$newtitle}', url = '{$url}', num = '{$num}', lang = '{$_M[lang]}' "; } }elseif($type=='del'){//删除 if(is_number($id)){ $query = "DELETE FROM {$_M['table']['label']} WHERE id='{$id}' and lang='{$_M[lang]}' "; } } DB::query($query); } } load::sys_func('file'); delfile(PATH_WEB."cache/str_{$_M[lang]}.inc.php"); turnover("{$_M[url][own_form]}a=doanchor"); } function dositemap(){ global $_M; nav::select_nav(4); require $this->template('tem/sitemap'); } function dositemapeditor(){ global $_M; $configlist = array(); $configlist[] = 'met_sitemap_auto'; $configlist[] = 'met_sitemap_not1'; $configlist[] = 'met_sitemap_not2'; $configlist[] = 'met_sitemap_lang'; $configlist[] = 'met_sitemap_xml'; $configlist[] = 'met_sitemap_txt'; $_M['form']['met_sitemap_not1'] = $_M['form']['met_sitemap_not1'] ? $_M['form']['met_sitemap_not1'] : 0; $_M['form']['met_sitemap_not2'] = $_M['form']['met_sitemap_not2'] ? $_M['form']['met_sitemap_not2'] : 0; $_M['form']['met_sitemap_xml'] = $_M['form']['met_sitemap_xml'] ? $_M['form']['met_sitemap_xml'] : 0; $_M['form']['met_sitemap_txt'] = $_M['form']['met_sitemap_txt'] ? $_M['form']['met_sitemap_txt'] : 0; configsave($configlist);/*保存系统配置*/ load::sys_func('file'); /*验证读写权限*/ function yanquan($fname){ global $_M; $r=false; if(!file_exists(PATH_WEB.$fname)){ file_put_contents(PATH_WEB.$fname,'metinfo'); $str='metinfo'; }else{ $str=file_get_contents(PATH_WEB.$fname); } if(!file_put_contents(PATH_WEB.$fname,$str)){ $r = true; } return $r; } $err=false; if(!$_M['form']['met_sitemap_xml']){ delfile(PATH_WEB."/sitemap.xml"); }else{ $err = yanquan('sitemap.xml'); } if(!$_M['form']['met_sitemap_txt']){ delfile(PATH_WEB."/sitemap.txt"); }else{ $err = yanquan('sitemap.txt'); } if($err){ turnover("{$_M[url][own_form]}a=dositemap", $_M['form']['otherinfocache2']); }else{ $sitemaptype = $_M['form']['met_sitemap_xml']?'xml':($_M['form']['met_sitemap_txt']?'txt':0); sitemap_robots($sitemaptype); if($_M['form']['met_sitemap_xml']||$_M['form']['met_sitemap_txt']){ $gent = "sitemap/index.php?lang={$_M[lang]}&htmsitemap={$_M['config']['met_member_force']}"; $curl = load::sys_class('curl', 'new'); $curl -> set('host', $_M['url']['site']); $curl -> set('file', $gent); $post = array('post' => ''); $curl -> curl_post($post); } turnover("{$_M[url][own_form]}a=dositemap"); } } } # This program is an open source system, commercial use, please consciously to purchase commercial license. # Copyright (C) MetInfo Co., Ltd. (http://www.metinfo.cn). All rights reserved. ?>